/**
 * @Author: 
 * 该文件主要为layui的form日常用到的总结
 */
layui.use(['form', 'layedit', 'laydate'], function(){
    var form = layui.form,
    layer = layui.layer,
    layedit = layui.layedit,
    laydate = layui.laydate; 
    //初始化日期
    laydate.render({
        elem: '#date',
        type: 'date', //默认date(显示到日)；type可以是'year'，'month'，'time(选择时间)'，'datetime(可以选择日期和时间)'
        format: 'yyyy年MM月dd日' //日期有很多显示格式
    });
    //自定义验证规则
    form.verify({
      title: function(value){
        if(value.length < 5){
          return '标题至少得5个字符啊';
        }
      },
      pass: [/(.+){6,12}$/, '密码必须6到12位']
    });
    //对于动态生成的表单，最好在生成之后更新渲染下；
    form.render(); //更新全部
    form.render('select'); //刷新select选择框渲染
    //监听checkbox复选
    form.on('checkbox(filter)', function(data){
        console.log(data.elem); //得到checkbox原始DOM对象
        console.log(data.elem.checked); //是否被选中，true或者false
        console.log(data.value); //复选框value值，也可以通过data.elem.value得到
        console.log(data.othis); //得到美化后的DOM对象
    });
    //监听指定开关
    form.on('switch(switchTest)', function(data){
      layer.msg('开关checked：'+ (this.checked ? 'true' : 'false'), {
        offset: '6px'
      });
      layer.tips('温馨提示：请注意开关状态的文字可以随意定义，而不仅仅是ON|OFF', data.othis)
    });
    //监听select框的改变
    form.on('select(filter)', function(data){
        console.log(data.elem); //得到select原始DOM对象
        console.log(data.value); //得到被选中的值
        console.log(data.othis); //得到美化后的DOM对象
    });
    //监听form提交
    form.on('submit(formSubmit)', function(data){  // formSubmit为提交button按钮的lay-filter属性值
        console.log(data.elem) //被执行事件的元素DOM对象，一般为button对象
        console.log(data.form) //被执行提交的form对象，一般在存在form标签时才会返回
        console.log(data.field) //当前容器的全部表单字段，名值对形式：{name: value} 
        layer.alert(JSON.stringify(data.field), {
            title: '最终的提交信息'
        })
        return false;
    });
    
    
});